﻿using System.Collections.Generic;
using System.ServiceModel;
using MJD.Comunes.DtoEntidades;
using MJD.Logica.Controladores;
using MJD.Servicios.Contratos;

namespace MJD.Servicios.Implementacion
{
    /// <summary>
    /// Clase que posee la logica de cada metodo del servicio
    /// </summary>
    [ServiceBehavior]
    public class WsEmpresa : IWsEmpresa
    {
        /// <summary>
        /// Controlador de la operaciones
        /// </summary>
        private ControladorAseguradora _controlador;


        /// <summary>
        /// Contructor de la clase
        /// </summary>
        public WsEmpresa()
        {
            _controlador = new ControladorAseguradora();
        }


        /// <summary> Metodo que inserta o modifica los datos de una aseguradora </summary>
        /// <param name="aseguradora">datos de la aseguradora a insertar o modificar</param>
        /// <returns>true si inserto o modifico false si no</returns>
        public bool InsertarOModifcarAseguradora(DtoAseguradora aseguradora)
        {
            return _controlador.InsertarOModifcarAseguradora(aseguradora);
        }


        /// <summary> metodo que inserta o modifica los datos de una sucursal </summary>
        /// <param name="sucursal">datos de la sucursal a insertar o modificar</param>
        /// <returns>true si inserto o modifico o false sino</returns>
        public bool InsertarOModificarSucursal(DtoSucursal sucursal)
        {
            return _controlador.InsertarOModificarSucursal(sucursal);
        }


        /// <summary> Metodo que consulta una aseguradora dado los parametros indicados </summary>
        /// <param name="consulta">datos para realizar la consulta de la aseguradora</param>
        /// <returns>Lista de aseguradoras que cumplen con los parametros de busquedas</returns>
        public List<DtoAseguradora> ConsultarAseguradoras(DtoAseguradora consulta)
        {
            return _controlador.ConsultarAseguradoras(consulta);
        }
    }
}
